package com.ruoyi.alarm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 预警信息对象 ajt_alarm_data
 * 
 * @author ruoyi
 * @date 2025-03-30
 */
public class AjtAlarmData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 预警信息ID，自增 */
    private Long id;

    /** 唯一ID,用于关联报警数据(*必填) */
    @Excel(name = "唯一ID,用于关联报警数据(*必填)")
    private String alarmId;

    /** 报警状态，0:不可用,1:开始,2:结束 */
    @Excel(name = "报警状态，0:不可用,1:开始,2:结束")
    private Long alarmStatus;

    /** 终端设备编号  */
    @Excel(name = "终端设备编号 ")
    private String deviceNo;

    /** 终端sim卡号  */
    @Excel(name = "终端sim卡号 ")
    private String sim;

    /** 车辆id，关联mangroves_car_info,建立索引加速查询 */
    @Excel(name = "车辆id，关联mangroves_car_info,建立索引加速查询")
    private Long vehicleId;

    /** 车牌号(*必填) */
    @Excel(name = "车牌号(*必填)")
    private String vehicleNo;

    /** 车辆类型 */
    @Excel(name = "车辆类型")
    private Long vehicleType;

    /** 报警产生时间，格式MMM dd, yyyy HH:mm:ss aa（Oct 30, 2020 12:00:00 PM） 报警状态为开始时必填，其它时候为空 */
    @Excel(name = "报警产生时间，格式MMM dd, yyyy HH:mm:ss aa", readConverterExp = "O=ct,3=0,,2=020,1=2:00:00,P=M")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 报警结束时间，格式MMM dd, yyyy HH:mm:ss aa （Oct 30, 2020 12:00:00 PM）报警状态为结束时必填，其它时候为空 */
    @Excel(name = "报警结束时间，格式MMM dd, yyyy HH:mm:ss aa ", readConverterExp = "O=ct,3=0,,2=020,1=2:00:00,P=M")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 驾驶员姓名,静态绑定的驾驶员,如果未录入则为空 */
    @Excel(name = "驾驶员姓名,静态绑定的驾驶员,如果未录入则为空")
    private String driverName;

    /** 驾驶员身份证号，同上 */
    @Excel(name = "驾驶员身份证号，同上")
    private String driverCard;

    /** 报警信息来源{设备、平台}(*必填) */
    @Excel(name = "报警信息来源{设备、平台}(*必填)")
    private String warnSrc;

    /** 报警类型(*必填)详见2.2 */
    @Excel(name = "报警类型(*必填)详见2.2")
    private Long warnType;

    /** 报警描述 */
    @Excel(name = "报警描述")
    private String warnContent;

    /** 报警开始经度，报警状态为开始结束时必填，其他时候为空 */
    @Excel(name = "报警开始经度，报警状态为开始结束时必填，其他时候为空")
    private Long startLon;

    /** 报警开始纬度，报警状态为开始结束时必填，其他时候为空 */
    @Excel(name = "报警开始纬度，报警状态为开始结束时必填，其他时候为空")
    private Long startLat;

    /** 报警结束速度，报警状态为开始结束时必填，其他时候为空 */
    @Excel(name = "报警结束速度，报警状态为开始结束时必填，其他时候为空")
    private Long startSpeed;

    /** GPS方向角， 报警状态为开始结束时必填，其他时候为空 */
    @Excel(name = "GPS方向角， 报警状态为开始结束时必填，其他时候为空")
    private Long startDirection;

    /** 车辆状态(*必填) */
    @Excel(name = "车辆状态(*必填)")
    private Long startState;

    /** 查看状态，0：未查看；1：已查看 */
    @Excel(name = "查看状态，0：未查看；1：已查看")
    private Long readStatus;

    /** 报警结束经度，报警状态为开始结束时必填，其他时候为空 */
    @Excel(name = "报警结束经度，报警状态为开始结束时必填，其他时候为空")
    private Long endLon;

    /** 报警结束纬度，报警状态为开始结束时必填，其他时候为空 */
    @Excel(name = "报警结束纬度，报警状态为开始结束时必填，其他时候为空")
    private Long endLat;

    /** 报警结束速度，报警状态为开始结束时必填，其他时候为空 */
    @Excel(name = "报警结束速度，报警状态为开始结束时必填，其他时候为空")
    private Long endSpeed;

    /** GPS方向角， 报警状态为开始结束时必填，其他时候为空 */
    @Excel(name = "GPS方向角， 报警状态为开始结束时必填，其他时候为空")
    private Long endDirection;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long endState;

    /** 报警处理状态 （已处理、未处理）报警状态为处理时必填，其它时候为未处理 */
    @Excel(name = "报警处理状态 ", readConverterExp = "已=处理、未处理")
    private String handleState;

    /** 处理方式{人工确认、对讲、文本下发} */
    @Excel(name = "处理方式{人工确认、对讲、文本下发}")
    private String handleMethod;

    /** 处理时间，格式MMM dd, yyyy HH:mm:ss aa（Oct 30, 2020 12:00:00 PM） */
    @Excel(name = "处理时间，格式MMM dd, yyyy HH:mm:ss aa", readConverterExp = "O=ct,3=0,,2=020,1=2:00:00,P=M")
    private Date handleTime;

    /** 处理人 */
    @Excel(name = "处理人")
    private String handlePeople;

    /** 处理结果描述 */
    @Excel(name = "处理结果描述")
    private String handleDesc;

    /** 车辆颜色中文 */
    @Excel(name = "车辆颜色中文")
    private String vehicleColor;

    /** 驾驶员id */
    @Excel(name = "驾驶员id")
    private Long driverId;

    /** 附件数量 */
    @Excel(name = "附件数量")
    private Long fileNum;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setAlarmId(String alarmId) 
    {
        this.alarmId = alarmId;
    }

    public String getAlarmId() 
    {
        return alarmId;
    }

    public void setAlarmStatus(Long alarmStatus) 
    {
        this.alarmStatus = alarmStatus;
    }

    public Long getAlarmStatus() 
    {
        return alarmStatus;
    }

    public void setDeviceNo(String deviceNo) 
    {
        this.deviceNo = deviceNo;
    }

    public String getDeviceNo() 
    {
        return deviceNo;
    }

    public void setSim(String sim) 
    {
        this.sim = sim;
    }

    public String getSim() 
    {
        return sim;
    }

    public void setVehicleId(Long vehicleId) 
    {
        this.vehicleId = vehicleId;
    }

    public Long getVehicleId() 
    {
        return vehicleId;
    }

    public void setVehicleNo(String vehicleNo) 
    {
        this.vehicleNo = vehicleNo;
    }

    public String getVehicleNo() 
    {
        return vehicleNo;
    }

    public void setVehicleType(Long vehicleType) 
    {
        this.vehicleType = vehicleType;
    }

    public Long getVehicleType() 
    {
        return vehicleType;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setDriverName(String driverName) 
    {
        this.driverName = driverName;
    }

    public String getDriverName() 
    {
        return driverName;
    }

    public void setDriverCard(String driverCard) 
    {
        this.driverCard = driverCard;
    }

    public String getDriverCard() 
    {
        return driverCard;
    }

    public void setWarnSrc(String warnSrc) 
    {
        this.warnSrc = warnSrc;
    }

    public String getWarnSrc() 
    {
        return warnSrc;
    }

    public void setWarnType(Long warnType) 
    {
        this.warnType = warnType;
    }

    public Long getWarnType() 
    {
        return warnType;
    }

    public void setWarnContent(String warnContent) 
    {
        this.warnContent = warnContent;
    }

    public String getWarnContent() 
    {
        return warnContent;
    }

    public void setStartLon(Long startLon) 
    {
        this.startLon = startLon;
    }

    public Long getStartLon() 
    {
        return startLon;
    }

    public void setStartLat(Long startLat) 
    {
        this.startLat = startLat;
    }

    public Long getStartLat() 
    {
        return startLat;
    }

    public void setStartSpeed(Long startSpeed) 
    {
        this.startSpeed = startSpeed;
    }

    public Long getStartSpeed() 
    {
        return startSpeed;
    }

    public void setStartDirection(Long startDirection) 
    {
        this.startDirection = startDirection;
    }

    public Long getStartDirection() 
    {
        return startDirection;
    }

    public void setStartState(Long startState) 
    {
        this.startState = startState;
    }

    public Long getStartState() 
    {
        return startState;
    }

    public void setReadStatus(Long readStatus) 
    {
        this.readStatus = readStatus;
    }

    public Long getReadStatus() 
    {
        return readStatus;
    }

    public void setEndLon(Long endLon) 
    {
        this.endLon = endLon;
    }

    public Long getEndLon() 
    {
        return endLon;
    }

    public void setEndLat(Long endLat) 
    {
        this.endLat = endLat;
    }

    public Long getEndLat() 
    {
        return endLat;
    }

    public void setEndSpeed(Long endSpeed) 
    {
        this.endSpeed = endSpeed;
    }

    public Long getEndSpeed() 
    {
        return endSpeed;
    }

    public void setEndDirection(Long endDirection) 
    {
        this.endDirection = endDirection;
    }

    public Long getEndDirection() 
    {
        return endDirection;
    }

    public void setEndState(Long endState) 
    {
        this.endState = endState;
    }

    public Long getEndState() 
    {
        return endState;
    }

    public void setHandleState(String handleState) 
    {
        this.handleState = handleState;
    }

    public String getHandleState() 
    {
        return handleState;
    }

    public void setHandleMethod(String handleMethod) 
    {
        this.handleMethod = handleMethod;
    }

    public String getHandleMethod() 
    {
        return handleMethod;
    }

    public void setHandleTime(Date handleTime) 
    {
        this.handleTime = handleTime;
    }

    public Date getHandleTime() 
    {
        return handleTime;
    }

    public void setHandlePeople(String handlePeople) 
    {
        this.handlePeople = handlePeople;
    }

    public String getHandlePeople() 
    {
        return handlePeople;
    }

    public void setHandleDesc(String handleDesc) 
    {
        this.handleDesc = handleDesc;
    }

    public String getHandleDesc() 
    {
        return handleDesc;
    }

    public void setVehicleColor(String vehicleColor) 
    {
        this.vehicleColor = vehicleColor;
    }

    public String getVehicleColor() 
    {
        return vehicleColor;
    }

    public void setDriverId(Long driverId) 
    {
        this.driverId = driverId;
    }

    public Long getDriverId() 
    {
        return driverId;
    }

    public void setFileNum(Long fileNum) 
    {
        this.fileNum = fileNum;
    }

    public Long getFileNum() 
    {
        return fileNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("alarmId", getAlarmId())
            .append("alarmStatus", getAlarmStatus())
            .append("deviceNo", getDeviceNo())
            .append("sim", getSim())
            .append("vehicleId", getVehicleId())
            .append("vehicleNo", getVehicleNo())
            .append("vehicleType", getVehicleType())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("driverName", getDriverName())
            .append("driverCard", getDriverCard())
            .append("warnSrc", getWarnSrc())
            .append("warnType", getWarnType())
            .append("warnContent", getWarnContent())
            .append("startLon", getStartLon())
            .append("startLat", getStartLat())
            .append("startSpeed", getStartSpeed())
            .append("startDirection", getStartDirection())
            .append("startState", getStartState())
            .append("readStatus", getReadStatus())
            .append("endLon", getEndLon())
            .append("endLat", getEndLat())
            .append("endSpeed", getEndSpeed())
            .append("endDirection", getEndDirection())
            .append("endState", getEndState())
            .append("handleState", getHandleState())
            .append("handleMethod", getHandleMethod())
            .append("handleTime", getHandleTime())
            .append("handlePeople", getHandlePeople())
            .append("handleDesc", getHandleDesc())
            .append("vehicleColor", getVehicleColor())
            .append("driverId", getDriverId())
            .append("fileNum", getFileNum())
            .toString();
    }
}
